﻿using System.Collections.Generic;
using ShellCommandService.Contracts.DataContracts;

namespace ShellCommandService.MSMQ
{
    public interface IShellCommandQueueRepository
    {
        void CreateMessageQueue();
        void AddShellCommandsToQueue(ShellCommandInfo info);

        /// <summary>
        /// List of the commands to fire for a machine which came from wcf service method
        /// </summary>
        /// <param name="machineName"></param>
        /// <returns></returns>
        List<ShellCommandInfo> RetrieveLogInformationFromQueue(string machineName);

        void RemoveTheMessageFromTheQueue(string messageId);
        List<ShellCommandInfo> FetchUnexecutedCommands(string machineName);
    }
}